home *** CD-ROM | disk | FTP | other *** search
/ Utilities Professional 1-1500 / Utilities Professional 1-1500 (1994)(WPD)[!].iso / 12511500 / var1432.dms / var1432.adf / NDUK-V40.lha / V40 / include / intuition / intuitionbase.h < prev    next >
C/C++ Source or Header  |  1993-10-15  |  2KB  |  95 lines

  1. #ifndef INTUITION_INTUITIONBASE_H
  2. #define INTUITION_INTUITIONBASE_H 1
  3. /*
  4. **  $VER: intuitionbase.h 38.0 (12.6.91)
  5. **  Includes Release 40.15
  6. **
  7. **  Public part of IntuitionBase structure and supporting structures
  8. **
  9. **  (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. */
  12.  
  13. #ifndef EXEC_TYPES_H
  14. #include <exec/types.h>
  15. #endif
  16.  
  17. #ifndef EXEC_LIBRARIES_H
  18. #include <exec/libraries.h>
  19. #endif
  20.  
  21. #ifndef INTUITION_INTUITION_H
  22. #include <intuition/intuition.h>
  23. #endif
  24.  
  25.  
  26. #ifndef EXEC_INTERRUPTS_H
  27. #include <exec/interrupts.h>
  28. #endif
  29.  
  30. /* these are the display modes for which we have corresponding parameter
  31.  *  settings in the config arrays
  32.  */
  33. #define DMODECOUNT    0x0002    /* how many modes there are */
  34. #define HIRESPICK    0x0000
  35. #define LOWRESPICK    0x0001
  36.  
  37. #define EVENTMAX 10        /* size of event array */
  38.  
  39. /* these are the system Gadget defines */
  40. #define RESCOUNT    2
  41. #define HIRESGADGET    0
  42. #define LOWRESGADGET    1
  43.  
  44. #define GADGETCOUNT    8
  45. #define UPFRONTGADGET    0
  46. #define DOWNBACKGADGET    1
  47. #define SIZEGADGET    2
  48. #define CLOSEGADGET    3
  49. #define DRAGGADGET    4
  50. #define SUPFRONTGADGET    5
  51. #define SDOWNBACKGADGET    6
  52. #define SDRAGGADGET    7
  53.  
  54. /* ======================================================================== */
  55. /* === IntuitionBase ====================================================== */
  56. /* ======================================================================== */
  57. /*
  58.  * Be sure to protect yourself against someone modifying these data as
  59.  * you look at them.  This is done by calling:
  60.  *
  61.  * lock = LockIBase(0), which returns a ULONG.    When done call
  62.  * UnlockIBase(lock) where lock is what LockIBase() returned.
  63.  */
  64.  
  65. /* This structure is strictly READ ONLY */
  66. struct IntuitionBase
  67. {
  68.     struct Library LibNode;
  69.  
  70.     struct View ViewLord;
  71.  
  72.     struct Window *ActiveWindow;
  73.     struct Screen *ActiveScreen;
  74.  
  75.     /* the FirstScreen variable points to the frontmost Screen.  Screens are
  76.      * then maintained in a front to back order using Screen.NextScreen
  77.      */
  78.     struct Screen *FirstScreen; /* for linked list of all screens */
  79.  
  80.     ULONG Flags;    /* values are all system private */
  81.     WORD    MouseY, MouseX;
  82.             /* note "backwards" order of these        */
  83.  
  84.     ULONG Seconds;    /* timestamp of most current input event */
  85.     ULONG Micros;    /* timestamp of most current input event */
  86.  
  87.     /* I told you this was private.
  88.      * The data beyond this point has changed, is changing, and
  89.      * will continue to change.
  90.      */
  91. };
  92.  
  93. #endif
  94.  
  95.